
/* 1.数组解构: 区别于py, js的数组解构左边必须挂中括号 */
function myTest1() {
    let a, b;
    [a, b] = [1, 2];
    console.log(a); // 1
}

/* 2.略去中间没用的参数 */
function myTest2() {
    let a, b;
    [a, , , , b] = [1, 2, 3, 4, 5, 6];
    console.log(a)  // 1
    console.log(b)  // 5
}

/* 3.等价于py的: a,b,*c=[1,2,3,4,5,6] */
function myTest3() {
    let a, b, c;
    [a, b, ...c] = [1, 2, 3, 4, 5, 6];
    console.log(a); // 1
    console.log(b); // 2
    console.log(c); // [ 3, 4, 5, 6 ]
}

/* 4.对象解构: 小括号必须加上的, 变量名左右必须一致 */
function myTest4() {
    let a, b;
    ({ a, b } = { a: 1, b: 2 });
    console.log(a); // 1
}

/* 5.典型例子: 解析json */
function myTest5() {
    let jsonData = {
        title: 'Roles',
        content: [{
            name: 'naruto',
            age: 16
        }]
    }
    /* 变量的提取, 用局部变量dataTitle和roleName来接受 */
    let { title: dataTitle, content: [{ name: roleName }] } = jsonData;
    console.log('提取标题:', dataTitle);
    console.log('提取角色名字:', roleName);
}

myTest5();
